package com.kkb.projectauth.service.impl;

import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.kkb.projectauth.dao.UserDao;
import com.kkb.projectauth.dao.UserInfoDao;
import com.kkb.projectauth.dao.UserLoginRegisterDao;
import com.kkb.projectauth.pojo.User;
import com.kkb.projectauth.pojo.UserInfo;
import com.kkb.projectauth.pojo.UserLoginRegister;
import com.kkb.projectauth.service.UserUpdateService;
import com.kkb.projectcommon.api.CommonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.sql.Wrapper;

/**
 * @Author: ZhuZhiwei
 * @Description:
 * @Date: Create in 14:21 2021/4/16
 */
@Service
public class UserUpdateServiceImpl implements UserUpdateService {

    @Autowired
    private UserInfoDao userInfoDao;

    @Autowired
    private UserLoginRegisterDao userLoginRegisterDao;

    @Autowired
    private UserDao userDao;

    /**
     * 通过用户ID查找用户的个人信息
     * @param id
     * @return
     */
    @Override
    public int updateUserVxNumber(Long id, String wx_card) {
        User user = new User();
        user.setId(id);
        user.setWxCard(wx_card);

//        UpdateWrapper updateWrapper = new UpdateWrapper();
//        updateWrapper.eq("wx_card", vxNumber);
//        int update = userDao.update(user, updateWrapper);

        int i = userDao.updateById(user);
        return i;
    }

    /**
     * 通过用户ID查找用户的个人信息
     * @param id
     * @return
     */
    @Override
    public int insertType(Long id, Byte type) {

        User user = new User();
        user.setId(id);
        user.setType(type);

        int i = userDao.updateById(user);
        return i;
    }

    /**
     * 通过用户ID查找用户的个人信息
     * @param id
     * @return
     */
    @Override
    public UserLoginRegister updateUsername(Long id, String username) {

        UserLoginRegister userLoginRegister = userLoginRegisterDao.findByUsername(username);
        return userLoginRegister;
//        if (user == null) {
//            int i = userLoginRegisterDao.updateById(userLoginRegister);
//            if (i > 0) {
//                return CommonResult.success("更换成功用户名");
//            } else {
//                return CommonResult.failed("更换用户名失败");
//            }
//        } else {
//            return CommonResult.failed("用户名已存在");
//        }
    }

    @Override
    public int updateById(Long id, String username) {
        UserLoginRegister userLoginRegister = new UserLoginRegister();
        userLoginRegister.setId(id);
        userLoginRegister.setUsername(username);
        int i = userLoginRegisterDao.updateById(userLoginRegister);
        return i;
    }

    /**
     * 通过用户ID查找用户的个人信息
     * @param id
     * @return
     */
    @Override
    public Boolean updateIconUrl(Long id, String iconUrl) {
        User user = new User();
        user.setId(id);
        user.setImageHard(iconUrl);

        int i = userDao.updateById(user);
        if (i > 0) {
            return true;
        }
        return false;
    }

    /**
     * 通过用户ID查找用户的个人信息
     * @param id
     * @return
     */
    @Override
    public CommonResult updatePhone(Long id, String phone) {
        UserLoginRegister userLoginRegister = new UserLoginRegister();
        userLoginRegister.setId(id);
        userLoginRegister.setPhone(phone);

        int i = userLoginRegisterDao.updateById(userLoginRegister);
        if (i > 0) {
            //TODO 查询对比  结合sms
            return CommonResult.success("修改成功");
        }
        return CommonResult.failed("修改失败");
    }

}
